package com.xiaofeng.subject.domain.service;

import com.xiaofeng.subject.common.entity.PageResult;
import com.xiaofeng.subject.domain.entity.SubjectInfoBO;
import com.xiaofeng.subject.domain.entity.SubjectLabelBO;
import com.xiaofeng.subject.infra.basic.entity.SubjectInfoEs;

import java.util.List;

/**
 * Created with IntelliJ IDEA
 *
 * @Author: chc
 * @Date: 2024/01/26/14:35
 * @Description: 题目领域服务
 */
public interface SubjectInfoDomainService {

    /**
     * 添加题目
     * @param subjectLabelBO
     */
    void add(SubjectInfoBO subjectLabelBO);


    /**
     * 分页查询列表
     * @param subjectInfoBO
     * @return
     */
    PageResult<SubjectInfoBO> getSubjectPage(SubjectInfoBO subjectInfoBO);

    /**
     * 查询题目信息
     * @param subjectInfoBO
     * @return
     */
    SubjectInfoBO querySubjectInfo(SubjectInfoBO subjectInfoBO);

    /**
     * 全文搜索
     * @param subjectInfoBO
     * @return
     */
    PageResult<SubjectInfoEs> getSubjectPageBySearch(SubjectInfoBO subjectInfoBO);

    /**
     * 查询贡献榜
     * @return
     */
    List<SubjectInfoBO> getContributeList();


}
